
package com.ynet.middleground.riskmanage.bean.hangxin.hzfpsqdsq;

import java.io.Serializable;

import javax.validation.constraints.NotEmpty;

import com.thoughtworks.xstream.annotations.XStreamAlias;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author liwq
 * @description
 * @date 2021-11-05 16:04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "红字发票申请单详细信息-发票信息", description = "红字发票申请单详细信息-发票信息")
@XStreamAlias("FPXM")
public class FPXM implements Serializable {

    private static final long serialVersionUID = -2176841764280295295L;

    @XStreamAlias("FPHXZ")
    @ApiModelProperty(value = "发票行性质(0 正常行、 3 被折扣行、 4折扣行)", notes = "发票行性质(0 正常行、 3 被折扣行、 4折扣行)", required = true)
    @NotEmpty(message = "发票行性质不能为空")
    protected String fphxz;

    @ApiModelProperty(value = "项目名称", notes = "项目名称", required = true)
    @NotEmpty(message = "项目名称不能为空")
    @XStreamAlias("XMMC")
    protected String xmmc;

    @XStreamAlias("GGXH")
    @ApiModelProperty(value = "规格型号", notes = "规格型号", required = true)
    @NotEmpty(message = "规格型号不能为空")
    protected String ggxh;

    @XStreamAlias("JLDW")
    @ApiModelProperty(value = "计量单位", notes = "计量单位", required = true)
    @NotEmpty(message = "计量单位不能为空")
    protected String jldw;

    @ApiModelProperty(value = "项目数量(小数点后8位)", notes = "项目数量(小数点后8位)")
    @XStreamAlias("XMSL")
    protected String xmsl;

    @ApiModelProperty(value = "项目单价(小数点后 8 位， 不含税)", notes = "项目单价(小数点后 8 位， 不含税)")
    @XStreamAlias("XMDJ")
    protected String xmdj;

    @XStreamAlias("XMJE")
    @ApiModelProperty(value = "项目金额(单位：元（ 2 位小数），不含税)", notes = "项目金额(单位：元（ 2 位小数），不含税)")
    protected String xmje;

    @XStreamAlias("SL")
    @ApiModelProperty(value = "税率(2 位小数。例如 1%为 0.01)", notes = "税率(2 位小数。例如 1%为 0.01)", required = true)
    @NotEmpty(message = "税率不能为空")
    protected String sl;

    @XStreamAlias("SE")
    @ApiModelProperty(value = "税额(单位：元（ 2 位小数）)", notes = "税额(单位：元（ 2 位小数）)", required = true)
    @NotEmpty(message = "税额不能为空")
    protected String se;

    @XStreamAlias("HSDJ")
    @ApiModelProperty(value = "含税单价(小数点后 8 位)", notes = "含税单价(小数点后 8 位)")
    protected String hsdj;

    @XStreamAlias("HSJE")
    @ApiModelProperty(value = "含税金额(单位：元（ 2 位小数）项目金额+税额)", notes = "含税金额(单位：元（ 2 位小数）项目金额+税额)", required = true)
    @NotEmpty(message = "含税金额不能为空")
    protected String hsje;

    @XStreamAlias("SPBM")
    @ApiModelProperty(value = "商品编码", notes = "商品编码", required = true)
    @NotEmpty(message = "商品编码不能为空")
    protected String spbm;

    @XStreamAlias("SFYHZC")
    @ApiModelProperty(value = "是否享受优惠政策(0：不使用，1：使用)", notes = "是否享受优惠政策(0：不使用，1：使用)")
    protected String sfyhzc;

    @ApiModelProperty(value = "优惠政策内容(空：非零税率，出口退税，免税，不征税，普通零税率)", notes = "优惠政策内容(空：非零税率，出口退税，免税，不征税，普通零税率)")
    @XStreamAlias("YHZCNR")
    protected String yhzcnr;

    @XStreamAlias("LSLBS")
    @ApiModelProperty(value = "零税率标识", notes = "零税率标识")
    protected String lslbs;

}
